// map 函数
let numbers = [1, 2, 3, 4, 5]
let doubleNumbers = numbers.map { $0 * 2 }
print(doubleNumbers)

// filter 函数
// `filter` 函数通过一个返回布尔值的闭包来筛选集合中的元素，返回一个仅包含满足条件的新集合。
let evenNumbers = numbers.filter { $0 % 2 == 0 }
print(evenNumbers)  // 输出：[2, 4]

// reduce 函数通过一个组合闭包将集合中的所有元素合并为一个单一值。它需要一个初始值和一个定义如何组合元素的闭包。
let sum = numbers.reduce(0) { $0 + $1 }
print(sum)  // 输出：15

// sorted函数
// sorted函数返回一个根据指定条件排序后的新集合。
// 可以提供一个自定义排序闭包来定义排序规则。
let sortedNumbers = numbers.sorted { $0 > $1 }
print(sortedNumbers)  // 输出：[5, 4, 3, 2, 1]
// sorted函数也可以使用默认的升序排序
let defaultSortedNumbers = numbers.sorted()
print(defaultSortedNumbers)  // 输出：[1, 2, 3, 4, 5]
